package main.java.day10;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 将聊天室服务端今天写的内容独立完成一次，
 * 完成后，修改代码，使得服务端可以一直读取
 * 客户端发送过来的每一条消息并输出到控制台。
 * <p>
 * 初始化服务端时，读取当前包中server-config.txt文件的第一行，用该端口进行
 * ServerSocket的初始化。
 *
 * @author Xiloer
 */
public class Server {
    public static void main(String[] args) throws IOException, IOException {
        //1,创建对象 -- 端口号:1025~65535
        ServerSocket server = new ServerSocket(8080);
        System.out.println("服务器已启动..");
        //2,接收客户端发来的连接请求--侦听并接受到此套接字的连接
        Socket socket = server.accept();
        System.out.println("服务器收到一个连接请求...");
        //3,读取 客户端发来的数据 --in
        InputStream in = socket.getInputStream();
        for (int i = 0; i < 5; i++) {
            int b = in.read();
            //问题：read()默认返回值类型是int,现在要char--int->char--强转
            char c = (char) b;
            System.out.println(c);
        }
        //4,给客户端写出数据--out
        OutputStream out = socket.getOutputStream();
        //问题:字节流不能写出字符串--String->byte[]--getBytes()
        out.write("world".getBytes());
        out.close();

    }
}
